const express = require('express');
const router = express.Router();
const Roles = require('../../../controller/system/roles-controller');

/**
 * 创建 - 创建角色
 * @route POST /api/private/roles/create
 * @group 角色管理 - 创建
 * @param {string} roleName - 角色名称
 * @param {number} sort - 角色排序
 * @param {string} state - 角色状态
 * @param {string} roleDesc - 角色描述
 * @param {string} [menuIds] - 菜单id
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/create', Roles.create);

/**
 * 查询 - 查询所有角色信息
 * @route POST /api/private/roles/list
 * @group 角色管理 - 查询
 * @param {object} query - 请按固定查询规范
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/list', Roles.findAll);

/**
 * 查询 - 查询多个角色信息
 * @route POST /api/private/roles/findRoles
 * @group 角色管理 - 查询
 * @param {string} [id] - 主键
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/findRoles', Roles.findRoles);

/**
 * 查询 - 根据id查询角色信息
 * @route POST /api/private/roles/findOne
 * @group 角色管理 - 查询
 * @param {string} id - 主键
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/findOne', Roles.findOne);

/**
 *  更新 - 更新角色信息
 * @route POST /api/private/roles/update
 * @group 角色管理 - 更新
 * @param {string} roleName - 角色名称
 * @param {number} sort - 角色排序
 * @param {string} state - 角色状态
 * @param {string} roleDesc - 角色描述
 * @param {string} menuIds - 菜单id
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
*/
router.post('/update', Roles.update);

/**
 * 删除 - 删除角色信息
 * @route POST /api/private/roles/delete
 * @group 角色管理 - 删除
 * @param {string} id - 主键
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/delete', Roles.delete);

/**
 * 删除 - 删除全部角色信息
 * @route POST /api/private/roles/deleteAll
 * @group 角色管理 - 删除全部
 * @returns {object} 200 - 用户信息
 * @returns {object} 605 - 请求失败错误
 * @returns {Error}  default - Unexpected error
 */
router.post('/deleteAll', Roles.deleteAll);

module.exports = router;